﻿



using System; 
using System.Collections;
using System.Collections.Generic ;
using System.Runtime.Serialization;

namespace ufida.u9.ait.openapi
{
	/// <summary>
	/// BOM子项DTO DTO :REST自定义的数据传输类型 
	/// 
	/// </summary>
	[DataContract(Namespace = "ufida.u9.ait.openapi")]
	[Serializable]
	public partial class BOMComponentAITDTOData  
	{
		/// <summary>
		/// Default Constructor
		/// </summary>
		public BOMComponentAITDTOData()
		{
			initData();
		}
		private void initData()
		{
		
					UsageQtyType= 1; 
							UsageQty=0m; 
		
		
					Sequence= 0; 
							Priority= 1; 
							ParentQty=1m; 
					OperationNum="10";
					MinSelectedQty=1m; 
					MaxSelectedQty=1m; 
		
		
		
					IsIssueOrgFixed=true; 
		
		
		
					ConsignProcessItemSrc= 2; 
				
					IsSpecialUseItem=true; 
					SetChkAtComplete=true; 
					SetChkAtWorkingStart=false; 
					SetChkAtOptStart=false; 
					SetChkAtOptComplete=true; 
					IsOverIssue=false; 
					MaterialType= -1; 
							StandardMaterialScale=0m; 
		
					IsPhantomPart=false; 
					ScrapType= 0; 
							FixedScrap=0m; 
					Scrap=0m; 
					PlanPercent=0m; 
		
		

			//调用默认值初始化服务进行配置方式初始化
			UFSoft.UBF.Service.DTOService.InitConfigDefault(this);
		}
		[System.Runtime.Serialization.OnDeserializing]
		internal void OnDeserializing(System.Runtime.Serialization.StreamingContext context)
		{
			 initData();
		}
		#region Do SerializeKey -ForDTODataType
		//只为处理集合型EntityKey。原因集合型EntityKey由于使用臫的集合对象，无法实现数据共享.-UBF专用.
		public void DoSerializeKeyList(IDictionary dict)
		{
			if (dict == null ) dict = new Hashtable() ;
			if (dict[this] != null)
				return ;
			dict[this] = this;
	        			if (this.BOMMasterAITDTO != null) 
			{
				this.BOMMasterAITDTO.DoSerializeKeyList(dict);
			}
	        	        	        			if (this.TimeUOM != null) 
			{
				this.TimeUOM.DoSerializeKeyList(dict);
			}
	        			if (this.SupplyWareHouse != null) 
			{
				this.SupplyWareHouse.DoSerializeKeyList(dict);
			}
	        	        	        	        	        	        	        			if (this.ItemMaster != null) 
			{
				this.ItemMaster.DoSerializeKeyList(dict);
			}
	        			if (this.IssueUOM != null) 
			{
				this.IssueUOM.DoSerializeKeyList(dict);
			}
	        			if (this.IssueOrg != null) 
			{
				this.IssueOrg.DoSerializeKeyList(dict);
			}
	        	        	        	        			if (this.CostElement != null) 
			{
				this.CostElement.DoSerializeKeyList(dict);
			}
	        	        			if (this.Project != null) 
			{
				this.Project.DoSerializeKeyList(dict);
			}
	        	        	        	        	        	        	        	        	        	        	        	        	        	        	        			if (this.DescFlexField != null) 
			{
				this.DescFlexField.DoSerializeKeyList(dict);
			}
	        
		}
		#endregion 
		/// <summary>
		/// Constructor Full Argument
		/// </summary>
		public BOMComponentAITDTOData(  ufida.u9.ait.openapi.BOMMasterAITDTOData bOMMasterAITDTO  , System.Int32 usageQtyType  , System.Decimal usageQty  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData timeUOM  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData supplyWareHouse  , System.Int32 sequence  , System.Int32 priority  , System.Decimal parentQty  , System.String operationNum  , System.Decimal minSelectedQty  , System.Decimal maxSelectedQty  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData itemMaster  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData issueUOM  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData issueOrg  , System.Boolean isIssueOrgFixed  , System.String effectiveDate  , System.String disableDate  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData costElement  , System.Int32 consignProcessItemSrc  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData project  , System.Boolean isSpecialUseItem  , System.Boolean setChkAtComplete  , System.Boolean setChkAtWorkingStart  , System.Boolean setChkAtOptStart  , System.Boolean setChkAtOptComplete  , System.Boolean isOverIssue  , System.Int32 materialType  , System.Decimal standardMaterialScale  , System.String pLMID  , System.Boolean isPhantomPart  , System.Int32 scrapType  , System.Decimal fixedScrap  , System.Decimal scrap  , System.Decimal planPercent  , ufida.u9.ait.openapi.CopyOfDescFlexSegmentsData descFlexField  , System.String remark  )
		{
			initData();
			this.BOMMasterAITDTO = bOMMasterAITDTO;
			this.UsageQtyType = usageQtyType;
			this.UsageQty = usageQty;
			this.TimeUOM = timeUOM;
			this.SupplyWareHouse = supplyWareHouse;
			this.Sequence = sequence;
			this.Priority = priority;
			this.ParentQty = parentQty;
			this.OperationNum = operationNum;
			this.MinSelectedQty = minSelectedQty;
			this.MaxSelectedQty = maxSelectedQty;
			this.ItemMaster = itemMaster;
			this.IssueUOM = issueUOM;
			this.IssueOrg = issueOrg;
			this.IsIssueOrgFixed = isIssueOrgFixed;
			this.EffectiveDate = effectiveDate;
			this.DisableDate = disableDate;
			this.CostElement = costElement;
			this.ConsignProcessItemSrc = consignProcessItemSrc;
			this.Project = project;
			this.IsSpecialUseItem = isSpecialUseItem;
			this.SetChkAtComplete = setChkAtComplete;
			this.SetChkAtWorkingStart = setChkAtWorkingStart;
			this.SetChkAtOptStart = setChkAtOptStart;
			this.SetChkAtOptComplete = setChkAtOptComplete;
			this.IsOverIssue = isOverIssue;
			this.MaterialType = materialType;
			this.StandardMaterialScale = standardMaterialScale;
			this.PLMID = pLMID;
			this.IsPhantomPart = isPhantomPart;
			this.ScrapType = scrapType;
			this.FixedScrap = fixedScrap;
			this.Scrap = scrap;
			this.PlanPercent = planPercent;
			this.DescFlexField = descFlexField;
			this.Remark = remark;
		}
		#region System Fields 
		//--系统字段,目前没有.EntityData上有相应的字段,用于保存相关的实体状态信息,DTO上没有状态信息.	
		#endregion
		
		#region DTO Properties 
	
		

		/// <summary>
		/// 物料清单头DTO
		/// BOM子项DTO.Misc.物料清单头DTO
		/// </summary>
		private ufida.u9.ait.openapi.BOMMasterAITDTOData m_bOMMasterAITDTO ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.BOMMasterAITDTOData BOMMasterAITDTO
		{
			get	
			{	
				return m_bOMMasterAITDTO ;
			}
			set	
			{	
				m_bOMMasterAITDTO = value ;	
			}
		}
			
		

		/// <summary>
		/// 用量类型
		/// BOM子项DTO.Misc.用量类型
		/// </summary>
		private System.Int32 m_usageQtyType ;
		[DataMember(IsRequired=false)]
		public System.Int32 UsageQtyType
		{
			get	
			{	
				return m_usageQtyType ;
			}
			set	
			{	
				m_usageQtyType = value ;	
			}
		}
			
		

		/// <summary>
		/// 用量
		/// BOM子项DTO.Misc.用量
		/// </summary>
		private System.Decimal m_usageQty ;
		[DataMember(IsRequired=false)]
		public System.Decimal UsageQty
		{
			get	
			{	
				return m_usageQty ;
			}
			set	
			{	
				m_usageQty = value ;	
			}
		}
			
		

		/// <summary>
		/// 时间单位
		/// BOM子项DTO.Misc.时间单位
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_timeUOM ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData TimeUOM
		{
			get	
			{	
				return m_timeUOM ;
			}
			set	
			{	
				m_timeUOM = value ;	
			}
		}
			
		

		/// <summary>
		/// 供应地点
		/// BOM子项DTO.Misc.供应地点
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_supplyWareHouse ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData SupplyWareHouse
		{
			get	
			{	
				return m_supplyWareHouse ;
			}
			set	
			{	
				m_supplyWareHouse = value ;	
			}
		}
			
		

		/// <summary>
		/// 子件项次
		/// BOM子项DTO.Misc.子件项次
		/// </summary>
		private System.Int32 m_sequence ;
		[DataMember(IsRequired=false)]
		public System.Int32 Sequence
		{
			get	
			{	
				return m_sequence ;
			}
			set	
			{	
				m_sequence = value ;	
			}
		}
			
		

		/// <summary>
		/// 优先顺序
		/// BOM子项DTO.Misc.优先顺序
		/// </summary>
		private System.Int32 m_priority ;
		[DataMember(IsRequired=false)]
		public System.Int32 Priority
		{
			get	
			{	
				return m_priority ;
			}
			set	
			{	
				m_priority = value ;	
			}
		}
			
		

		/// <summary>
		/// 母件底数
		/// BOM子项DTO.Misc.母件底数
		/// </summary>
		private System.Decimal m_parentQty ;
		[DataMember(IsRequired=false)]
		public System.Decimal ParentQty
		{
			get	
			{	
				return m_parentQty ;
			}
			set	
			{	
				m_parentQty = value ;	
			}
		}
			
		

		/// <summary>
		/// 工序号
		/// BOM子项DTO.Misc.工序号
		/// </summary>
		private System.String m_operationNum ;
		[DataMember(IsRequired=false)]
		public System.String OperationNum
		{
			get	
			{	
				return m_operationNum ;
			}
			set	
			{	
				m_operationNum = value ;	
			}
		}
			
		

		/// <summary>
		/// 最小可选量
		/// BOM子项DTO.Misc.最小可选量
		/// </summary>
		private System.Decimal m_minSelectedQty ;
		[DataMember(IsRequired=false)]
		public System.Decimal MinSelectedQty
		{
			get	
			{	
				return m_minSelectedQty ;
			}
			set	
			{	
				m_minSelectedQty = value ;	
			}
		}
			
		

		/// <summary>
		/// 最大可选量
		/// BOM子项DTO.Misc.最大可选量
		/// </summary>
		private System.Decimal m_maxSelectedQty ;
		[DataMember(IsRequired=false)]
		public System.Decimal MaxSelectedQty
		{
			get	
			{	
				return m_maxSelectedQty ;
			}
			set	
			{	
				m_maxSelectedQty = value ;	
			}
		}
			
		

		/// <summary>
		/// 子项
		/// BOM子项DTO.Misc.子项
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_itemMaster ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData ItemMaster
		{
			get	
			{	
				return m_itemMaster ;
			}
			set	
			{	
				m_itemMaster = value ;	
			}
		}
			
		

		/// <summary>
		/// 发料单位
		/// BOM子项DTO.Misc.发料单位
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_issueUOM ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData IssueUOM
		{
			get	
			{	
				return m_issueUOM ;
			}
			set	
			{	
				m_issueUOM = value ;	
			}
		}
			
		

		/// <summary>
		/// 发料组织
		/// BOM子项DTO.Misc.发料组织
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_issueOrg ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData IssueOrg
		{
			get	
			{	
				return m_issueOrg ;
			}
			set	
			{	
				m_issueOrg = value ;	
			}
		}
			
		

		/// <summary>
		/// 特定供应组织
		/// BOM子项DTO.Misc.特定供应组织
		/// </summary>
		private System.Boolean m_isIssueOrgFixed ;
		[DataMember(IsRequired=false)]
		public System.Boolean IsIssueOrgFixed
		{
			get	
			{	
				return m_isIssueOrgFixed ;
			}
			set	
			{	
				m_isIssueOrgFixed = value ;	
			}
		}
			
		

		/// <summary>
		/// 生效时间
		/// BOM子项DTO.Misc.生效时间
		/// </summary>
		private System.String m_effectiveDate ;
		[DataMember(IsRequired=false)]
		public System.String EffectiveDate
		{
			get	
			{	
				return m_effectiveDate ;
			}
			set	
			{	
				m_effectiveDate = value ;	
			}
		}
			
		

		/// <summary>
		/// 失效时间
		/// BOM子项DTO.Misc.失效时间
		/// </summary>
		private System.String m_disableDate ;
		[DataMember(IsRequired=false)]
		public System.String DisableDate
		{
			get	
			{	
				return m_disableDate ;
			}
			set	
			{	
				m_disableDate = value ;	
			}
		}
			
		

		/// <summary>
		/// 成本要素
		/// BOM子项DTO.Misc.成本要素
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_costElement ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData CostElement
		{
			get	
			{	
				return m_costElement ;
			}
			set	
			{	
				m_costElement = value ;	
			}
		}
			
		

		/// <summary>
		/// 委托加工备料来源
		/// BOM子项DTO.Misc.委托加工备料来源
		/// </summary>
		private System.Int32 m_consignProcessItemSrc ;
		[DataMember(IsRequired=false)]
		public System.Int32 ConsignProcessItemSrc
		{
			get	
			{	
				return m_consignProcessItemSrc ;
			}
			set	
			{	
				m_consignProcessItemSrc = value ;	
			}
		}
			
		

		/// <summary>
		/// 项目
		/// BOM子项DTO.Misc.项目
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_project ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData Project
		{
			get	
			{	
				return m_project ;
			}
			set	
			{	
				m_project = value ;	
			}
		}
			
		

		/// <summary>
		/// 专项控制
		/// BOM子项DTO.Misc.专项控制
		/// </summary>
		private System.Boolean m_isSpecialUseItem ;
		[DataMember(IsRequired=false)]
		public System.Boolean IsSpecialUseItem
		{
			get	
			{	
				return m_isSpecialUseItem ;
			}
			set	
			{	
				m_isSpecialUseItem = value ;	
			}
		}
			
		

		/// <summary>
		/// 订单完工
		/// BOM子项DTO.Misc.订单完工
		/// </summary>
		private System.Boolean m_setChkAtComplete ;
		[DataMember(IsRequired=false)]
		public System.Boolean SetChkAtComplete
		{
			get	
			{	
				return m_setChkAtComplete ;
			}
			set	
			{	
				m_setChkAtComplete = value ;	
			}
		}
			
		

		/// <summary>
		/// 订单开工
		/// BOM子项DTO.Misc.订单开工
		/// </summary>
		private System.Boolean m_setChkAtWorkingStart ;
		[DataMember(IsRequired=false)]
		public System.Boolean SetChkAtWorkingStart
		{
			get	
			{	
				return m_setChkAtWorkingStart ;
			}
			set	
			{	
				m_setChkAtWorkingStart = value ;	
			}
		}
			
		

		/// <summary>
		/// 工序开工
		/// BOM子项DTO.Misc.工序开工
		/// </summary>
		private System.Boolean m_setChkAtOptStart ;
		[DataMember(IsRequired=false)]
		public System.Boolean SetChkAtOptStart
		{
			get	
			{	
				return m_setChkAtOptStart ;
			}
			set	
			{	
				m_setChkAtOptStart = value ;	
			}
		}
			
		

		/// <summary>
		/// 工序完工
		/// BOM子项DTO.Misc.工序完工
		/// </summary>
		private System.Boolean m_setChkAtOptComplete ;
		[DataMember(IsRequired=false)]
		public System.Boolean SetChkAtOptComplete
		{
			get	
			{	
				return m_setChkAtOptComplete ;
			}
			set	
			{	
				m_setChkAtOptComplete = value ;	
			}
		}
			
		

		/// <summary>
		/// 允许超额发料
		/// BOM子项DTO.Misc.允许超额发料
		/// </summary>
		private System.Boolean m_isOverIssue ;
		[DataMember(IsRequired=false)]
		public System.Boolean IsOverIssue
		{
			get	
			{	
				return m_isOverIssue ;
			}
			set	
			{	
				m_isOverIssue = value ;	
			}
		}
			
		

		/// <summary>
		/// 超额类型
		/// BOM子项DTO.Misc.超额类型
		/// </summary>
		private System.Int32 m_materialType ;
		[DataMember(IsRequired=false)]
		public System.Int32 MaterialType
		{
			get	
			{	
				return m_materialType ;
			}
			set	
			{	
				m_materialType = value ;	
			}
		}
			
		

		/// <summary>
		/// 标准超额比例
		/// BOM子项DTO.Misc.标准超额比例
		/// </summary>
		private System.Decimal m_standardMaterialScale ;
		[DataMember(IsRequired=false)]
		public System.Decimal StandardMaterialScale
		{
			get	
			{	
				return m_standardMaterialScale ;
			}
			set	
			{	
				m_standardMaterialScale = value ;	
			}
		}
			
		

		/// <summary>
		/// PLMID
		/// BOM子项DTO.Misc.PLMID
		/// </summary>
		private System.String m_pLMID ;
		[DataMember(IsRequired=false)]
		public System.String PLMID
		{
			get	
			{	
				return m_pLMID ;
			}
			set	
			{	
				m_pLMID = value ;	
			}
		}
			
		

		/// <summary>
		/// 是否虚拟
		/// BOM子项DTO.Misc.是否虚拟
		/// </summary>
		private System.Boolean m_isPhantomPart ;
		[DataMember(IsRequired=false)]
		public System.Boolean IsPhantomPart
		{
			get	
			{	
				return m_isPhantomPart ;
			}
			set	
			{	
				m_isPhantomPart = value ;	
			}
		}
			
		

		/// <summary>
		/// 损耗类型
		/// BOM子项DTO.Misc.损耗类型
		/// </summary>
		private System.Int32 m_scrapType ;
		[DataMember(IsRequired=false)]
		public System.Int32 ScrapType
		{
			get	
			{	
				return m_scrapType ;
			}
			set	
			{	
				m_scrapType = value ;	
			}
		}
			
		

		/// <summary>
		/// 固定损耗
		/// BOM子项DTO.Misc.固定损耗
		/// </summary>
		private System.Decimal m_fixedScrap ;
		[DataMember(IsRequired=false)]
		public System.Decimal FixedScrap
		{
			get	
			{	
				return m_fixedScrap ;
			}
			set	
			{	
				m_fixedScrap = value ;	
			}
		}
			
		

		/// <summary>
		/// 变动损耗
		/// BOM子项DTO.Misc.变动损耗
		/// </summary>
		private System.Decimal m_scrap ;
		[DataMember(IsRequired=false)]
		public System.Decimal Scrap
		{
			get	
			{	
				return m_scrap ;
			}
			set	
			{	
				m_scrap = value ;	
			}
		}
			
		

		/// <summary>
		/// 计划百分比
		/// BOM子项DTO.Misc.计划百分比
		/// </summary>
		private System.Decimal m_planPercent ;
		[DataMember(IsRequired=false)]
		public System.Decimal PlanPercent
		{
			get	
			{	
				return m_planPercent ;
			}
			set	
			{	
				m_planPercent = value ;	
			}
		}
			
		

		/// <summary>
		/// 描述性弹性域
		/// BOM子项DTO.Misc.描述性弹性域
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfDescFlexSegmentsData m_descFlexField ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfDescFlexSegmentsData DescFlexField
		{
			get	
			{	
				return m_descFlexField ;
			}
			set	
			{	
				m_descFlexField = value ;	
			}
		}
			
		

		/// <summary>
		/// 备注
		/// BOM子项DTO.Misc.备注
		/// </summary>
		private System.String m_remark ;
		[DataMember(IsRequired=false)]
		public System.String Remark
		{
			get	
			{	
				return m_remark ;
			}
			set	
			{	
				m_remark = value ;	
			}
		}
			
		#endregion	

		#region Multi_Fields
																																																																								
		#endregion 
	} 	
}
